package common

import (
	"crypto/hmac"
	"crypto/md5"
	"crypto/sha1"
	"encoding/hex"
	"log"
	"os"
)

func Sha1(data string) string {
	obj := sha1.New()
	obj.Write([]byte(data))
	return hex.EncodeToString(obj.Sum([]byte("")))
}

func Hmac(key, data string) string {
	obj := hmac.New(md5.New, []byte(key))
	obj.Write([]byte(data))
	return hex.EncodeToString(obj.Sum([]byte("")))
}

func Md5(data string) string {
	obj := md5.New()
	obj.Write([]byte(data))
	return hex.EncodeToString(obj.Sum([]byte("")))
}

// 判断文件是否存在
func IsExist(fileAddr string)(bool){
	// 读取文件信息，判断文件是否存在
	_,err := os.Stat(fileAddr)
	if err!=nil{
		log.Println(err)
		if os.IsExist(err){  // 根据错误类型进行判断
			return true
		}
		return false
	}
	return true
}